/**
  * OutputDisplay Class stores a structure pointer to struct DisplayText.
  * struct DisplayText stores all the relevant strings to be displayed on
  *	the GUI.
  *
  *	Interface methods include getter methods for each string (mainly used by the GUI alone)
  * and getDisplayPointer() which returns the pointer to the struct DisplayText.
  *
  *	To use, simply copy paste the struct definition below above your code and declare a 
  *	DisplayText* displayText private member. Then, use the getDisplayPointer()
  *
  *	For example, to display upcoming tasks, simply do:
  * displayText->upcomingText = string upcoming;
  *
  *	From there, the GUI will handle printing to screen.
  *
  **/

#pragma once
#include <sstream>   //n
#include <iostream>  //n
#include <string>
#include <stdio.h>
#include "CommonDataType.h"  //n
#include "EventStorage.h"

using std::string;

class OutputDisplay{

private:
    /////string allText;
    string upcomingText;
    vector<Event> const *_eventList;
    /////string todayText;
    /////string weekText;
    /////string floatingTasksText;
    /////string pastEntriesText;
    /////string labelText;
	//static String^ convertToSystemString(string toBeConverted);
	/////const string helpText="expected input: help command\n"+"like 'help add' for add format, supporting commands: add, delete, display, edit, undo\n";
	/////const string helpAdd="expected input: add content\n"+"add 'generatedindex content' to issues.\n";
	/////const string helpDelete="expected input: delete index/indices\n"+"display all the 'generatedindex content'\n";
	/////const string helpDisplay="expected input: display\n"+"add 'generatedindex content' to issues.\n";
	/////const string helpModify="expected input: edit indextobeedit new content\n"+"replace the old content at the index with new content\n";
	/////const string helpUndo="expected input: undo\n"+"cancel last command\n";
	/////const string Added="added successfully\n";
	/////const string Deleted="deleted successfully\n";
	/////const string Displayed="displayed successfully\n";
	/////const string Modified="added successfully\n";
    /////const string Undid="undo successfully\n";	
public:
	
	OutputDisplay();
	//static DisplayText* getDisplayPointer();
	string converttoString(pos_int index); //n
	/////void readUpcomingText(EventVector* _eventList); 
	void readUpcomingText(const Vector<pos_int>& _idList); 
	/////void readAllText(EventVector* _eventList); 
	/////void readTodayText(EventVector* _eventList); 
	/////void readWeekText(EventVector* _eventList); 
	/////void readFloatingTasksText(EventVector* _eventList); 
	/////void readPastOperationsText(EventVector* _eventList); 
	/////void readLabelText(EventVector* _eventList); 
    static string getUpcomingText();
	/////static string getAllText();
	/////static string getTodayText();
	/////static string getWeekText();
	/////static string getFloatingTasksText();
	/////static string getPastOperationsText();
	/////static string getLabelText();
	/////string showHelp();//="expected input: help command\n"+"like 'help add' for add format, supporting commands: add, delete, display, edit, undo\n";
	/////string showHelpAdd();//="expected input: add content\n"+"add 'generatedindex content' to issues.\n";
	/////string showHelpDelete();//="expected input: delete index/indices\n"+"display all the 'generatedindex content'\n";
	/////string showHelpDisplay();//="expected input: display\n"+"add 'generatedindex content' to issues.\n";
	/////string showHelpModify();//="expected input: edit indextobeedit new content\n"+"replace the old content at the index with new content\n";
	/////string showHelpUndo();//="expected input: undo\n"+"cancel last command\n";
	/////string showHelpElse();//="expected input: help command\n"+"like 'help add' for add format, supporting commands: add, delete, display, edit, undo\n";
	/////string showAdded();//="added successfully\n";
	/////string showDeleted();//="deleted successfully\n";
	/////string showDisplayed();//="displayed successfully\n";
	/////string showModified();//="added successfully\n";
    /////string showUndid();//="undo successfully\n";	
};


